/*
 * 文件名：ModulePropertiesManager.java
 * 版权：(C)版权所有2013-2013 com.zilla
 * 描述：模块配置参数管理类
 * 修改人：ze.chen
 * 修改时间：2013-6-5 下午6:24:14
 */
package com.zilla.android.zillacore.libzilla.module;

import android.content.Context;
import com.github.snowdream.android.util.Log;
import com.zilla.android.zillacore.libzilla.Zilla;
import com.zilla.android.zillacore.libzilla.util.Util;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * module.properties中对应的value
 *
 * @author ze.chen
 * @version 1.0
 * @date 2013-6-5 下午6:24:14
 * 模块配置参数管理类<br>
 * 直接调用get方法，获取config/module.properties
 */
public class ModulePropertiesManager {

    private static Properties properties;

    private static ModulePropertiesManager instance = null;

    private ModulePropertiesManager(Context context) {
        InputStream is = null;
        try {
            is = Zilla.APP.getAssets().open("config/module.properties");
            properties = new Properties();
            properties.load(is);
        } catch (IOException e) {
            Log.e(e.getMessage());
        } finally {
            Util.closeStream(is);
        }
    }

    /**
     * 实例化<br>
     * 该方法在系统启动的时候调用
     *
     * @param context
     * @return
     */
    public static ModulePropertiesManager getInstance(Context context) {
        if (instance == null) {
            instance = new ModulePropertiesManager(context);
        }
        return instance;
    }

    /**
     * 取值<br>
     * 输入的参数为config/module.properties中的key
     *
     * @param key
     * @param defaultValue
     * @return
     */
    public static String get(String key, String defaultValue) {
        return properties.getProperty(key, defaultValue);
    }
}
